-- @Author: 作者QQ381990860
-- @Date:   2021-11-05 10:34:34
-- @Last Modified by:   作者QQ381990860
-- @Last Modified time: 2021-11-20 14:22:00

local 账号选项 = class()
local min = math.min
local ceil = math.ceil
local tp,zts

function 账号选项:初始化(背景,事件)
	self.背景 = 背景
	self.宽度 = self.背景.宽度
	self.高度 = self.背景.高度
	self.事件 = 事件
	self.可视 = false
end

function 账号选项:打开(选项,背景)
	if self.可视 then
		self.列表:打开()
		self.可视 = false
	else
		if tp == nil then
			tp = 引擎.场景
			zts = tp.字体表.普通字体
		end
		if self.列表 == nil then
			self.列表 = tp._列表.创建(背景,self.事件,self.背景.宽度-12,21,self.背景.高度-20)
		end
		if #选项 > self.列表.最大显示量 then
		    self.背景:置宽高(self.宽度+15,self.高度)
		    self.上翻 = tp._按钮.创建(tp._自适应.创建(20,4,18,19,4,3),0,0,4,true,true)
		    self.下翻 = tp._按钮.创建(tp._自适应.创建(21,4,18,19,4,3),0,0,4,true,true)
		    self.允许加入 = true
		else
			if self.背景.宽度 ~= self.宽度 then
				self.背景:置宽高(self.宽度,self.高度)
		    	self.允许加入 = false
			end
		end

		self.列表:打开(选项,tp)
		self.可视 = true
	end
end

function 账号选项:事件判断()
	return self.弹出事件 ~= nil
end

function 账号选项:置选中(选项)
	self.列表:置选中(选项)
end

function 账号选项:显示(sx,sy,x,y,sb,ssa)
	if not self.可视 then
		return
	end
	self.背景:显示(sx,sy)
	if self.背景:是否选中(x,y) then
		tp.按钮焦点 = true
		tp.选项栏选中 = true
		tp.第二次删除 = 0
	end
	self.列表:显示(sx+7,sy+6,x,y,sb)
	if self.允许加入 then
		self.上翻:更新(x,y,self.列表.起始 > 1)
		self.下翻:更新(x,y,self.列表.起始 < #self.列表.选项-self.列表.最大显示量+1)
		if self.上翻:事件判断() then
			self.列表.起始 = self.列表.起始 - 1
		elseif self.下翻:事件判断() then
		    self.列表.起始 = self.列表.起始 + 1
		end
		self.上翻:显示(sx+self.背景.宽度-20,sy+2)
	    self.下翻:显示(sx+self.背景.宽度-20,sy+self.高度-20)
	end
	if self.列表.弹出事件 ~= nil then
		self.弹出事件 = self.列表.弹出事件
       if ssa ==nil then 
		self:打开()
	   end
		self.列表.弹出事件 = nil
		return
	end
end

return 账号选项